1 (The Reich Lab) KCDE and KDE

functionForDifferentModels("KCDE", "KDE", "Reich Lab", "ReichLab_kcde", "ReichLab_kde", thefilepath, "iskdetest")

2 (The Reich Lab) KCDE and SARIMA (Seasonal Difference = True)

functionForDifferentModels("KCDE", "SARIMA(seasonal difference)", "Reich Lab", "ReichLab_kcde", "ReichLab_sarima_seasonal_difference_TRUE", thefilepath, "isnotkdetest")

3 (The Reich Lab) SARIMA and KDE (Seasonal Difference = True)

functionForDifferentModels("SARIMA(seasonal difference)", "KDE", "Reich Lab", "ReichLab_sarima_seasonal_difference_TRUE", "ReichLab_kde", thefilepath, "iskdetest")

4 (The Reich Lab) SARIMA(Seasonal Difference) and SARIMA(No Seasonal Difference)

functionForDifferentModels("SARIMA(sd)", "SARIMA(no sd)", "Reich Lab", "ReichLab_sarima_seasonal_difference_TRUE", "ReichLab_sarima_seasonal_difference_FALSE", thefilepath, "isnotkdetest")

5 (The Reich Lab) KCDE and CUBMA

functionForDifferentModels("KCDE", "CUBMA", "Reich Lab", "ReichLab_kcde", "CUBMA", thefilepath, "isnotkdetest")

6 (The Reich Lab) KCDE and Delphi’s Markovian Delta Density

functionForDifferentModels("KCDE", "Delphi's Markovian Model", "Reich Lab", "ReichLab_kcde", "Delphi_MarkovianDeltaDensity_PackageDefaults", thefilepath, "isnotkdetest")

7 (The Reich Lab) KCDE and Los Alamos’ Dynamic Bayesian Model

functionForDifferentModels("KCDE", "Los Alamos' DBM", "Reich Lab", "ReichLab_kcde", "LANL_DBM", thefilepath, "isnotkdetest")

8 Appendix:

While we’ve only made comparisons between a few models, feel free to make more comparisons. The function that I have created allows for different models to be compared as well. However, if the second model that is passed into the function happens to be the KDE model, make sure to change the boolean “isnotkdetest” to “iskdetest”. This was done simply because of the fact that the KDE model has made predictions for several weeks (and this is reflected in the number of files) that are not made by any of the other models. As a result I deleted some of the KDE model’s files by using a sub-function that only runs if the boolean is true. This is truly an unfortunate artifact of the code that I have created but I hope that it doesn’t cause too much of a problem when comparing models involving the KDE model.

        Also, when you put the KDE model in the functionForDifferentModels always make sure that it is the second model (in order) that is passed into the function; you might run into some errors otherwise. Altogether I have to say that this was an excellent project as I learned about and tried to implement a test that has some interesting characteristics. In my write-up I have outlined these characteristics and hope to pursue the study of this test perhaps in undergrad or even in graduate school. Nick, I really appreciate your help and patience with the interns and I really hope to get involved with you research-wise at some point in the future.

        It is important to note the structure of the function functionForDifferentModels <- function(modelname1, modelname2, groupname, foldername1, foldername2, realtimecomponentmodelspath, iskdetest). The first three arguments are simply there to denote the official names of the models and the name of the group that was involved in creating them. The next four arguments, however, are crucial because they describe the actual folders (foldername1 and foldername2) within the folder path (realtimecomponentmodelspath). The last argument also tells the function whether or not the kde model is included as part of this test.